﻿using Sinacor.Infra.Service.Common;
using Sinacor.Infra.Service.Validation;

namespace Sinacor.Servico.Bovespa.Contabil.BusinessEntity
{
    /// <summary>
    /// BusinessEntity Class - EventoContabil
    /// </summary>
    public class EventoContabil : BaseBusinessEntity
    {
        #region Construtores

        public EventoContabil(){}

        public EventoContabil(int codigo, string descricao, bool? utilizaMunicipio) 
        {
            this._codigo = codigo;
            this._descricao = descricao;
            this._utilizaMunicipio = utilizaMunicipio;
        }

        #endregion

        #region Atributos

        private int _codigo;
        private string _descricao;
        private bool? _utilizaMunicipio;

        #endregion

        #region Propriedades

        /// <summary>
        /// Código do evento contábil
        /// </summary>        
        public int Codigo
        {
            get { return this._codigo; }
            set { this._codigo = value; }
        }

        /// <summary>
        /// Descrição do evento contábil
        /// </summary>  
        [NotNull(109192)]
        [NotEmpty(109192,true)] 
        public string Descricao
        {
            get { return this._descricao; }
            set { this._descricao = value; }
        }

        /// <summary>
        /// Utiliza município
        /// </summary>        
        public bool? UtilizaMunicipio
        {
            get { return this._utilizaMunicipio; }
            set { this._utilizaMunicipio = value; }
        }

        #endregion
    }
}
